Conversation
Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
There was a problem hiding this comment.
Pull request overview
This pull request implements streaming and bulk write functionality for the GreptimeDB .NET ingester SDK. The changes add two high-throughput data ingestion methods: streaming write via gRPC for concurrent writes from multiple threads with backpressure handling, and bulk write via Apache Arrow Flight for maximum throughput using columnar data transfer.
Changes:
- Added streaming write capability with
StreamIngestWriterusing gRPC bidirectional streaming - Added bulk write capability with
BulkWriterusing Apache Arrow Flight protocol - Implemented Arrow integration infrastructure including
RecordBatchBuilderandArrowTypeMapper - Fixed bug in
TypeCoercion.csfor proper DateTime handling - Added comprehensive unit and integration tests
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 24 comments.
Show a summary per file
| File | Description |
|---|---|
| RecordBatchBuilderTests.cs | Comprehensive unit tests for Arrow RecordBatch building |
| ArrowTypeMapperTests.cs | Unit tests for type mapping between GreptimeDB and Arrow types |
| StreamIngestWriterIntegrationTests.cs | Integration tests for streaming writer with various scenarios |
| BulkWriterIntegrationTests.cs | Integration tests for bulk writer including setup patterns |
| TypeCoercion.cs | Fixed DateTime type coercion to use correct timestamp unit |
| TableBuilder.cs | Added GetColumnDefinitions helper method for schema inspection |
| StreamIngestWriterOptions.cs | Configuration options with validation |
| StreamIngestWriter.cs | Thread-safe streaming writer with channel-based backpressure |
| IStreamIngestWriter.cs | Interface defining streaming writer contract |
| IBulkWriter.cs | Interface defining bulk writer contract |
| GreptimeClient.cs | Added factory methods for streaming and bulk writers |
| BulkWriter.cs | Arrow Flight-based bulk writer implementation |
| RecordBatchBuilder.cs | Converts GreptimeDB tables to Arrow RecordBatch format |
| ArrowTypeMapper.cs | Maps GreptimeDB types to Apache Arrow types |
| README.md | Updated documentation with streaming and bulk write examples |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 19 out of 19 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
tests/GreptimeDB.Ingester.IntegrationTests/StreamIngestWriterIntegrationTests.cs
Outdated
Show resolved
Hide resolved
tests/GreptimeDB.Ingester.IntegrationTests/BulkWriterIntegrationTests.cs
Outdated
Show resolved
Hide resolved
Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
No description provided.